
<!doctype html>
<html lang="en" class="no-js">
  <head>
    
      <meta charset="utf-8">
      <meta name="viewport" content="width=device-width,initial-scale=1">
      
        <meta name="description" content="Software Distribution and Building Platform for Windows">
      
      
      
      
        <link rel="canonical" href="https://www.msys2.org/wiki/Devtopics/">
      
      <link rel="icon" href="../../favicon.ico">
      <meta name="generator" content="mkdocs-1.2.2, mkdocs-material-7.2.6">
    
    
      
        <title>TODO LIST - MSYS2</title>
      
    
    
      <link rel="stylesheet" href="../../assets/stylesheets/main.802231af.min.css">
      
        
        <link rel="stylesheet" href="../../assets/stylesheets/palette.3f5d1f46.min.css">
        
          
          
          <meta name="theme-color" content="#4051b5">
        
      
    
    
    
      
        
        <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
        <link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Roboto:300,400,400i,700%7CRoboto+Mono&display=fallback">
        <style>:root{--md-text-font-family:"Roboto";--md-code-font-family:"Roboto Mono"}</style>
      
    
    
    
      <link rel="stylesheet" href="../../stylesheets/extra.css">
    
    
      


    
    
   
  
    
  
<meta property="og:type" content="website" />
<meta property="og:title" content="MSYS2 - TODO LIST" />
<meta property="og:description" content="Here are some topics and milestones that deserve more discussion or work. This page should serve as an overview of our long-term issues and goals and be a place to write down the decisions and open questions so that they don't get buried in IRC logs or mailing list archives." />

<meta property="og:url" content="https://www.msys2.org/wiki/Devtopics/" />
<meta property="og:image" content="https://www.msys2.org/logo.png" />
<meta property="og:image:type" content="image/png" />
<meta property="og:image:width" content="250" />
<meta property="og:image:height" content="250" />
<script type="application/ld+json">
  {
    "image": "https://www.msys2.org/logo.png",
    "@type": "WebSite",
    "headline": "MSYS2",
    "publisher": {
      "@type": "Organization",
      "logo": {
        "@type": "ImageObject",
        "url": "https://www.msys2.org/logo.png"
      }
    },
    "url": "https://www.msys2.org",
    "description": "Software Distribution and Building Platform for Windows",
    "name": "MSYS2",
    "@context": "https://schema.org"
  }
</script>

  </head>
  
  
    
    
    
    
    
    <body dir="ltr" data-md-color-scheme="" data-md-color-primary="indigo" data-md-color-accent="indigo">
  
    
    <script>function __prefix(e){return new URL("../..",location).pathname+"."+e}function __get(e,t=localStorage){return JSON.parse(t.getItem(__prefix(e)))}</script>
    
    <input class="md-toggle" data-md-toggle="drawer" type="checkbox" id="__drawer" autocomplete="off">
    <input class="md-toggle" data-md-toggle="search" type="checkbox" id="__search" autocomplete="off">
    <label class="md-overlay" for="__drawer"></label>
    <div data-md-component="skip">
      
        
        <a href="#unify-public-relations-solidify-hosting" class="md-skip">
          Skip to content
        </a>
      
    </div>
    <div data-md-component="announce">
      
    </div>
    
      <header class="md-header" data-md-component="header">
  <nav class="md-header__inner md-grid" aria-label="Header">
    <a href="../.." title="MSYS2" class="md-header__button md-logo" aria-label="MSYS2" data-md-component="logo">
      
  <img src="../../logo.svg" alt="logo">

    </a>
    <label class="md-header__button md-icon" for="__drawer">
      <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M3 6h18v2H3V6m0 5h18v2H3v-2m0 5h18v2H3v-2z"/></svg>
    </label>
    <div class="md-header__title" data-md-component="header-title">
      <div class="md-header__ellipsis">
        <div class="md-header__topic">
          <span class="md-ellipsis">
            MSYS2
          </span>
        </div>
        <div class="md-header__topic" data-md-component="header-topic">
          <span class="md-ellipsis">
            
              TODO LIST
            
          </span>
        </div>
      </div>
    </div>
    
    
    
      <label class="md-header__button md-icon" for="__search">
        <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.516 6.516 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5z"/></svg>
      </label>
      
<div class="md-search" data-md-component="search" role="dialog">
  <label class="md-search__overlay" for="__search"></label>
  <div class="md-search__inner" role="search">
    <form class="md-search__form" name="search">
      <input type="text" class="md-search__input" name="query" aria-label="Search" placeholder="Search" autocapitalize="off" autocorrect="off" autocomplete="off" spellcheck="false" data-md-component="search-query" required>
      <label class="md-search__icon md-icon" for="__search">
        <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.516 6.516 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5z"/></svg>
        <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M20 11v2H8l5.5 5.5-1.42 1.42L4.16 12l7.92-7.92L13.5 5.5 8 11h12z"/></svg>
      </label>
      <nav class="md-search__options" aria-label="Search">
        
        <button type="reset" class="md-search__icon md-icon" aria-label="Clear" tabindex="-1">
          <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12 19 6.41z"/></svg>
        </button>
      </nav>
      
    </form>
    <div class="md-search__output">
      <div class="md-search__scrollwrap" data-md-scrollfix>
        <div class="md-search-result" data-md-component="search-result">
          <div class="md-search-result__meta">
            Initializing search
          </div>
          <ol class="md-search-result__list"></ol>
        </div>
      </div>
    </div>
  </div>
</div>
    
    
      <div class="md-header__source">
        
<a href="https://github.com/msys2/msys2.github.io/" title="Go to repository" class="md-source" data-md-component="source">
  <div class="md-source__icon md-icon">
    
    <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><path d="M439.55 236.05 244 40.45a28.87 28.87 0 0 0-40.81 0l-40.66 40.63 51.52 51.52c27.06-9.14 52.68 16.77 43.39 43.68l49.66 49.66c34.23-11.8 61.18 31 35.47 56.69-26.49 26.49-70.21-2.87-56-37.34L240.22 199v121.85c25.3 12.54 22.26 41.85 9.08 55a34.34 34.34 0 0 1-48.55 0c-17.57-17.6-11.07-46.91 11.25-56v-123c-20.8-8.51-24.6-30.74-18.64-45L142.57 101 8.45 235.14a28.86 28.86 0 0 0 0 40.81l195.61 195.6a28.86 28.86 0 0 0 40.8 0l194.69-194.69a28.86 28.86 0 0 0 0-40.81z"/></svg>
  </div>
  <div class="md-source__repository">
    GitHub
  </div>
</a>
      </div>
    
  </nav>
</header>
    
    <div class="md-container" data-md-component="container">
      
      
        
      
      <main class="md-main" data-md-component="main">
        <div class="md-main__inner md-grid">
          
            
              
              <div class="md-sidebar md-sidebar--primary" data-md-component="sidebar" data-md-type="navigation" >
                <div class="md-sidebar__scrollwrap">
                  <div class="md-sidebar__inner">
                    


<nav class="md-nav md-nav--primary" aria-label="Navigation" data-md-level="0">
  <label class="md-nav__title" for="__drawer">
    <a href="../.." title="MSYS2" class="md-nav__button md-logo" aria-label="MSYS2" data-md-component="logo">
      
  <img src="../../logo.svg" alt="logo">

    </a>
    MSYS2
  </label>
  
    <div class="md-nav__source">
      
<a href="https://github.com/msys2/msys2.github.io/" title="Go to repository" class="md-source" data-md-component="source">
  <div class="md-source__icon md-icon">
    
    <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><path d="M439.55 236.05 244 40.45a28.87 28.87 0 0 0-40.81 0l-40.66 40.63 51.52 51.52c27.06-9.14 52.68 16.77 43.39 43.68l49.66 49.66c34.23-11.8 61.18 31 35.47 56.69-26.49 26.49-70.21-2.87-56-37.34L240.22 199v121.85c25.3 12.54 22.26 41.85 9.08 55a34.34 34.34 0 0 1-48.55 0c-17.57-17.6-11.07-46.91 11.25-56v-123c-20.8-8.51-24.6-30.74-18.64-45L142.57 101 8.45 235.14a28.86 28.86 0 0 0 0 40.81l195.61 195.6a28.86 28.86 0 0 0 40.8 0l194.69-194.69a28.86 28.86 0 0 0 0-40.81z"/></svg>
  </div>
  <div class="md-source__repository">
    GitHub
  </div>
</a>
    </div>
  
  <ul class="md-nav__list" data-md-scrollfix>
    
      
      
      

  
  
  
    <li class="md-nav__item">
      <a href="../.." class="md-nav__link">
        Getting Started
      </a>
    </li>
  

    
      
      
      

  
  
  
    <li class="md-nav__item">
      <a href="../../news/" class="md-nav__link">
        News
      </a>
    </li>
  

    
      
      
      

  
  
  
    <li class="md-nav__item">
      <a href="https://packages.msys2.org" class="md-nav__link">
        Package Index
      </a>
    </li>
  

    
      
      
      

  
  
  
    
    <li class="md-nav__item md-nav__item--nested">
      
      
        <input class="md-nav__toggle md-toggle" data-md-toggle="__nav_4" type="checkbox" id="__nav_4" >
      
      <label class="md-nav__link" for="__nav_4">
        Documentation
        <span class="md-nav__icon md-icon"></span>
      </label>
      <nav class="md-nav" aria-label="Documentation" data-md-level="1">
        <label class="md-nav__title" for="__nav_4">
          <span class="md-nav__icon md-icon"></span>
          Documentation
        </label>
        <ul class="md-nav__list" data-md-scrollfix>
          
            
  
  
  
    <li class="md-nav__item">
      <a href="../../docs/what-is-msys2/" class="md-nav__link">
        What is MSYS2?
      </a>
    </li>
  

          
            
  
  
  
    <li class="md-nav__item">
      <a href="../../docs/who-is-using-msys2/" class="md-nav__link">
        Who Is Using MSYS2?
      </a>
    </li>
  

          
            
  
  
  
    <li class="md-nav__item">
      <a href="../../docs/environments/" class="md-nav__link">
        Environments
      </a>
    </li>
  

          
            
  
  
  
    <li class="md-nav__item">
      <a href="../../docs/ci/" class="md-nav__link">
        Using MSYS2 in CI
      </a>
    </li>
  

          
            
  
  
  
    <li class="md-nav__item">
      <a href="../../docs/terminals/" class="md-nav__link">
        Terminals
      </a>
    </li>
  

          
            
  
  
  
    <li class="md-nav__item">
      <a href="../../docs/package-management/" class="md-nav__link">
        Package Management
      </a>
    </li>
  

          
            
  
  
  
    <li class="md-nav__item">
      <a href="../../docs/filesystem-paths/" class="md-nav__link">
        Filesystem Paths
      </a>
    </li>
  

          
        </ul>
      </nav>
    </li>
  

    
      
      
      

  
  
  
    
    <li class="md-nav__item md-nav__item--nested">
      
      
        <input class="md-nav__toggle md-toggle" data-md-toggle="__nav_5" type="checkbox" id="__nav_5" >
      
      <label class="md-nav__link" for="__nav_5">
        Development
        <span class="md-nav__icon md-icon"></span>
      </label>
      <nav class="md-nav" aria-label="Development" data-md-level="1">
        <label class="md-nav__title" for="__nav_5">
          <span class="md-nav__icon md-icon"></span>
          Development
        </label>
        <ul class="md-nav__list" data-md-scrollfix>
          
            
  
  
  
    <li class="md-nav__item">
      <a href="../../dev/mirrors/" class="md-nav__link">
        Mirrors
      </a>
    </li>
  

          
            
  
  
  
    <li class="md-nav__item">
      <a href="../../dev/keyring/" class="md-nav__link">
        MSYS2 Keyring
      </a>
    </li>
  

          
            
  
  
  
    <li class="md-nav__item">
      <a href="../../dev/python/" class="md-nav__link">
        Python
      </a>
    </li>
  

          
        </ul>
      </nav>
    </li>
  

    
      
      
      

  
  
    
  
  
    
    <li class="md-nav__item md-nav__item--active md-nav__item--nested">
      
      
        <input class="md-nav__toggle md-toggle" data-md-toggle="__nav_6" type="checkbox" id="__nav_6" checked>
      
      <label class="md-nav__link" for="__nav_6">
        Other Topics
        <span class="md-nav__icon md-icon"></span>
      </label>
      <nav class="md-nav" aria-label="Other Topics" data-md-level="1">
        <label class="md-nav__title" for="__nav_6">
          <span class="md-nav__icon md-icon"></span>
          Other Topics
        </label>
        <ul class="md-nav__list" data-md-scrollfix>
          
            
  
  
  
    <li class="md-nav__item">
      <a href="../Home/" class="md-nav__link">
        Welcome to the MSYS2 wiki
      </a>
    </li>
  

          
            
  
  
  
    <li class="md-nav__item">
      <a href="../Contributing-to-MSYS2/" class="md-nav__link">
        Contributing to MSYS2
      </a>
    </li>
  

          
            
  
  
  
    <li class="md-nav__item">
      <a href="../Creating-Packages/" class="md-nav__link">
        Creating Packages
      </a>
    </li>
  

          
            
  
  
    
  
  
    <li class="md-nav__item md-nav__item--active">
      
      <input class="md-nav__toggle md-toggle" data-md-toggle="toc" type="checkbox" id="__toc">
      
      
      
        <label class="md-nav__link md-nav__link--active" for="__toc">
          TODO LIST
          <span class="md-nav__icon md-icon"></span>
        </label>
      
      <a href="./" class="md-nav__link md-nav__link--active">
        TODO LIST
      </a>
      
        
<nav class="md-nav md-nav--secondary" aria-label="Table of contents">
  
  
  
  
    <label class="md-nav__title" for="__toc">
      <span class="md-nav__icon md-icon"></span>
      Table of contents
    </label>
    <ul class="md-nav__list" data-md-component="toc" data-md-scrollfix>
      
        <li class="md-nav__item">
  <a href="#unify-public-relations-solidify-hosting" class="md-nav__link">
    Unify public relations, solidify hosting
  </a>
  
</li>
      
        <li class="md-nav__item">
  <a href="#off-load-package-building-and-uploading" class="md-nav__link">
    Off-load package building and uploading
  </a>
  
</li>
      
        <li class="md-nav__item">
  <a href="#official-release" class="md-nav__link">
    Official release
  </a>
  
</li>
      
        <li class="md-nav__item">
  <a href="#merge-with-cygwin" class="md-nav__link">
    Merge with Cygwin
  </a>
  
</li>
      
        <li class="md-nav__item">
  <a href="#connect-with-upstreams" class="md-nav__link">
    Connect with upstreams
  </a>
  
</li>
      
        <li class="md-nav__item">
  <a href="#connect-with-downstreams" class="md-nav__link">
    Connect with downstreams
  </a>
  
</li>
      
        <li class="md-nav__item">
  <a href="#get-more-people" class="md-nav__link">
    Get more people
  </a>
  
</li>
      
        <li class="md-nav__item">
  <a href="#fix-pacman-errors-wrt-conflicts-in-binfoo-vs-binfooexe" class="md-nav__link">
    Fix pacman errors wrt. conflicts in bin/foo vs bin/foo.exe
  </a>
  
</li>
      
        <li class="md-nav__item">
  <a href="#provide-more-mingw-w64-versions-of-common-cli-tools" class="md-nav__link">
    Provide more mingw-w64 versions of common CLI tools
  </a>
  
</li>
      
        <li class="md-nav__item">
  <a href="#midipix" class="md-nav__link">
    Midipix
  </a>
  
</li>
      
    </ul>
  
</nav>
      
    </li>
  

          
            
  
  
  
    <li class="md-nav__item">
      <a href="../Distributing/" class="md-nav__link">
        Distributing
      </a>
    </li>
  

          
            
  
  
  
    <li class="md-nav__item">
      <a href="../FAQ/" class="md-nav__link">
        FAQ
      </a>
    </li>
  

          
            
  
  
  
    <li class="md-nav__item">
      <a href="../GDB-qtcreator/" class="md-nav__link">
        Qt Creator
      </a>
    </li>
  

          
            
  
  
  
    <li class="md-nav__item">
      <a href="../History/" class="md-nav__link">
        MSYS2 History
      </a>
    </li>
  

          
            
  
  
  
    <li class="md-nav__item">
      <a href="../How-does-MSYS2-differ-from-Cygwin/" class="md-nav__link">
        How does MSYS2 differ from Cygwin?
      </a>
    </li>
  

          
            
  
  
  
    <li class="md-nav__item">
      <a href="../Launchers/" class="md-nav__link">
        Launchers
      </a>
    </li>
  

          
            
  
  
  
    <li class="md-nav__item">
      <a href="../MSYS2-installation/" class="md-nav__link">
        MSYS2-Installation
      </a>
    </li>
  

          
            
  
  
  
    <li class="md-nav__item">
      <a href="../MSYS2-introduction/" class="md-nav__link">
        MSYS2-Introduction
      </a>
    </li>
  

          
            
  
  
  
    <li class="md-nav__item">
      <a href="../MSYS2-reinstallation/" class="md-nav__link">
        Re-installing MSYS2
      </a>
    </li>
  

          
            
  
  
  
    <li class="md-nav__item">
      <a href="../Packages/" class="md-nav__link">
        Packages List
      </a>
    </li>
  

          
            
  
  
  
    <li class="md-nav__item">
      <a href="../Porting/" class="md-nav__link">
        Porting
      </a>
    </li>
  

          
            
  
  
  
    <li class="md-nav__item">
      <a href="../Setting-up-SSHd/" class="md-nav__link">
        Setting up SSHd
      </a>
    </li>
  

          
            
  
  
  
    <li class="md-nav__item">
      <a href="../Signing-packages/" class="md-nav__link">
        Signing Packages
      </a>
    </li>
  

          
            
  
  
  
    <li class="md-nav__item">
      <a href="../Sudo/" class="md-nav__link">
        Do you need Sudo?
      </a>
    </li>
  

          
            
  
  
  
    <li class="md-nav__item">
      <a href="../Terminals/" class="md-nav__link">
        Terminals
      </a>
    </li>
  

          
            
  
  
  
    <li class="md-nav__item">
      <a href="../JIT-Debugging/" class="md-nav__link">
        Just-in-time Debugging
      </a>
    </li>
  

          
        </ul>
      </nav>
    </li>
  

    
      
      
      

  
  
  
    <li class="md-nav__item">
      <a href="../../contact/" class="md-nav__link">
        Support & Contact
      </a>
    </li>
  

    
      
      
      

  
  
  
    <li class="md-nav__item">
      <a href="../../codeofconduct/" class="md-nav__link">
        Code of Conduct
      </a>
    </li>
  

    
  </ul>
</nav>
                  </div>
                </div>
              </div>
            
            
              
              <div class="md-sidebar md-sidebar--secondary" data-md-component="sidebar" data-md-type="toc" >
                <div class="md-sidebar__scrollwrap">
                  <div class="md-sidebar__inner">
                    
<nav class="md-nav md-nav--secondary" aria-label="Table of contents">
  
  
  
  
    <label class="md-nav__title" for="__toc">
      <span class="md-nav__icon md-icon"></span>
      Table of contents
    </label>
    <ul class="md-nav__list" data-md-component="toc" data-md-scrollfix>
      
        <li class="md-nav__item">
  <a href="#unify-public-relations-solidify-hosting" class="md-nav__link">
    Unify public relations, solidify hosting
  </a>
  
</li>
      
        <li class="md-nav__item">
  <a href="#off-load-package-building-and-uploading" class="md-nav__link">
    Off-load package building and uploading
  </a>
  
</li>
      
        <li class="md-nav__item">
  <a href="#official-release" class="md-nav__link">
    Official release
  </a>
  
</li>
      
        <li class="md-nav__item">
  <a href="#merge-with-cygwin" class="md-nav__link">
    Merge with Cygwin
  </a>
  
</li>
      
        <li class="md-nav__item">
  <a href="#connect-with-upstreams" class="md-nav__link">
    Connect with upstreams
  </a>
  
</li>
      
        <li class="md-nav__item">
  <a href="#connect-with-downstreams" class="md-nav__link">
    Connect with downstreams
  </a>
  
</li>
      
        <li class="md-nav__item">
  <a href="#get-more-people" class="md-nav__link">
    Get more people
  </a>
  
</li>
      
        <li class="md-nav__item">
  <a href="#fix-pacman-errors-wrt-conflicts-in-binfoo-vs-binfooexe" class="md-nav__link">
    Fix pacman errors wrt. conflicts in bin/foo vs bin/foo.exe
  </a>
  
</li>
      
        <li class="md-nav__item">
  <a href="#provide-more-mingw-w64-versions-of-common-cli-tools" class="md-nav__link">
    Provide more mingw-w64 versions of common CLI tools
  </a>
  
</li>
      
        <li class="md-nav__item">
  <a href="#midipix" class="md-nav__link">
    Midipix
  </a>
  
</li>
      
    </ul>
  
</nav>
                  </div>
                </div>
              </div>
            
          
          <div class="md-content" data-md-component="content">
            <article class="md-content__inner md-typeset">
              
                
                  <a href="https://github.com/msys2/msys2.github.io/edit/source/web/wiki/Devtopics.md" title="Edit this page" class="md-content__button md-icon">
                    <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M20.71 7.04c.39-.39.39-1.04 0-1.41l-2.34-2.34c-.37-.39-1.02-.39-1.41 0l-1.84 1.83 3.75 3.75M3 17.25V21h3.75L17.81 9.93l-3.75-3.75L3 17.25z"/></svg>
                  </a>
                
                
                  <h1>TODO LIST</h1>
                
                <p>Here are some topics and milestones that deserve more discussion or work. This page should serve as an overview of our long-term issues and goals and be a place to write down the decisions and open questions so that they don't get buried in IRC logs or mailing list archives. Each goal should be described in appropriate detail and should be broken up into smaller tasks for interested members to tackle the goal step by step.</p>
<h2 id="unify-public-relations-solidify-hosting">Unify public relations, solidify hosting</h2>
<p>People are sometimes (often?) confused about where to get information about the project. It would be great if all the user-facing parts were on msys2.org and all the developer-facing parts on GitHub. Back-ends can be wherever (mailing lists and big file storage would be examples of things that we can't do with GitHub).</p>
<p>@alexpux doesn't agree, but @elieux believes one issue tracker for the whole project is better than separate ones. <a href="https://github.com/git-for-windows/git/issues">Git for Windows</a> sets a particularly good example.</p>
<p>We currently have:</p>
<ul>
<li><a href="https://github.com/msys2">GitHub org</a> for our main repositories (it had the wiki in the past)</li>
<li><a href="https://github.com/msys2-contrib">a secondary GitHub org</a> for contributions upstream and as a working place</li>
<li>other GitHub repos for source and issue tracking, <a href="https://github.com/Alexpux/MSYS2-pacman">msys2-pacman</a></li>
<li><a href="https://sourceforge.net/p/msys2/">SourceForge project</a> for mailing lists and as a mirror (it had forums and the wiki in the past)</li>
<li><a href="https://msys2.org">https://msys2.org</a> (also msys2.com and msys2.net), our own domains (owned by @elieux), with installation and donation instructions and the documentation <a href="https://github.com/msys2/msys2.github.io">with source on GitHub</a></li>
<li><a href="https://packages.msys2.org/">an online repo browser</a>, hosted by @lazka</li>
<li><a href="http://repo.msys2.org">http://repo.msys2.org</a> as the source for mirrors and a canonical location for installers, hosted by @elieux</li>
<li><a href="https://twitter.com/msys2org">twitter account</a>, run by @lazka</li>
</ul>
<p>What to do:</p>
<ul>
<li>migrate tickets from SF to GH; close them on SF afterwards</li>
<li>migrate forums and discussion from SF to GH</li>
<li>move active MSYS2-related repositories on GH to the msys2 org, including issues</li>
<li>find more (fast and reliable) mirrors</li>
<li>try moving the mailing list including archives from SF, see <a href="https://sourceforge.net/p/forge/documentation/Mailing%20List%20Archives/">mbox export</a>; can we use Sourceware? can we have our own (some say that mailman on our own server would be spam-filtered badly)? notify list members of the change (possibly set up a redirect for some time)</li>
<li>change links in packages ("submit bug" URLs) and elsewhere</li>
</ul>
<h2 id="off-load-package-building-and-uploading">Off-load package building and uploading</h2>
<p>For a long time, @alexpux was responsible for building all packages.  Ray, Renato, Qian, and other people had tried to use various CI platforms, with varying results.  Since 2020, @lazka and @eine have set up a CI to automatically build most packages in <a href="https://github.com/msys2/msys2-autobuild">https://github.com/msys2/msys2-autobuild</a> in cooperation with an API on <a href="https://packages.msys2.org/">https://packages.msys2.org/</a>.  Now @elieux is only responsible for uploading and signing them.</p>
<p>Approving pull requests for packages is done by a number of people.</p>
<p>What to do:</p>
<ul>
<li>write down packaging rules (rules inherited from Arch Linux, rules about <code>pkgbase</code>, <code>pkgname</code>, <code>description</code>, FHS, 32+64 bits, ...)</li>
<li>prepare automated checks to prevent mistakes (an idea: compare package file list between latest and new version of the package)</li>
<li>automate signing and uploading of packages?</li>
<li>also work towards reproducible builds (<a href="https://reproducible-builds.org/">https://reproducible-builds.org/</a>)</li>
</ul>
<h2 id="official-release">Official release</h2>
<p>MSYS2 is quite known but it's not obvious e.g. how stable and reliable it's supposed to be.  People are sometimes confusing it (in their minds, or in their words, or both) with MSys, much like MinGW-w64 is confused with MinGW.org.  The naming clash of MSYS2 the distribution vs. msys2 the emulation layer is also unfortunate (again reminiscent of the MinGW-w64 projects vs. its distributions).</p>
<p>What to do:</p>
<ul>
<li>decide if there's a need for a different name for <em>the whole thing</em>; if yes, decide upon one</li>
<li>split release Qt runtime from debug Qt runtime and Qt developer files (those debug and dev files are really huge)</li>
<li>make core updates fool-proof</li>
<li>maybe approve and polish one graphical front-end to pacman</li>
<li>create and/or polish packages for most popular open-source software (browsers, video players, email clients, office suites, IDEs, web servers) and maybe some additional useful software (like password managers, games, image editors)</li>
</ul>
<h2 id="merge-with-cygwin">Merge with Cygwin</h2>
<p>The MSYS2 runtime is forked from Cygwin and the code bases are irregularly (but often) synchronized. There has been some talk about modifying Cygwin to make it pluggable so that the MSYS2 runtime can be reduced to a plugin DLL that will make all the desired behavior changes.</p>
<p>There has been a lot of requests for additional POSIX-only software in MSYS2 (X, various daemons...) and the response was always "MSYS2 is not for you; use Cygwin". It would be nice if people could just install one POSIX emulation layer and have everything available from there.</p>
<p>What to do:</p>
<ul>
<li>write down every difference between Cygwin and MSYS2 runtimes (see <a href="https://github.com/msys2/msys2-packages/tree/master/msys2-runtime">the patches</a>)</li>
<li>offer appropriate patches to Cygwin as configurable behavior (e.g. CYGWIN=winsymlinks:copy)</li>
<li>design an interface prototype for unacceptable features; figure out if the idea is sound</li>
<li>design and implement the plug-in interface in cooperation with Cygwin</li>
<li>re-implement MSYS2 runtime as a Cygwin plugin</li>
<li>figure out if we can use Cygwin package repositories or if MSYS2 repositories can be used from Cygwin</li>
</ul>
<p>Links:</p>
<ul>
<li><a href="https://github.com/Alexpux/Cygwin/commit/4f756d6cc28179319ceccce01dd698de3f22c212">https://github.com/Alexpux/Cygwin/commit/4f756d6cc28179319ceccce01dd698de3f22c212</a></li>
<li><a href="https://sourceforge.net/p/mingw-w64/mailman/mingw-w64-public/thread/2F9017D3-8357-48C2-B887-A32FDF4E2141@gmail.com/">https://sourceforge.net/p/mingw-w64/mailman/mingw-w64-public/thread/2F9017D3-8357-48C2-B887-A32FDF4E2141@gmail.com/</a></li>
<li><a href="http://sourceware.org/ml/cygwin/2014-12/msg00084.html">http://sourceware.org/ml/cygwin/2014-12/msg00084.html</a></li>
<li><a href="https://github.com/Alexpux/MSYS2-packages/issues/83">https://github.com/Alexpux/MSYS2-packages/issues/83</a></li>
</ul>
<h2 id="connect-with-upstreams">Connect with upstreams</h2>
<p>Where possible, we shouldn't maintain a bunch of patches, but rather polish them and have them accepted by upstreams.</p>
<p>Another change to consider is to start building only release versions of the core packages. Although MSYS2 is a rolling release distro, there seems to be little need to use less tested, potentially more buggy code directly from git. If there's a really important, not yet realeased patch, we apply it in the PKGBUILD until the next release. Currently the mingw-w64 toolchains are the most prominent examples.</p>
<ul>
<li>switch to release versions of upstream code</li>
<li>improve technical quality of packages (make sure they follow all the packaging rules, tests are succeeding)</li>
<li>send ideas and patches upstream, be prepared to compromise</li>
</ul>
<h2 id="connect-with-downstreams">Connect with downstreams</h2>
<p>Altough we are probably not so big among end-users yet, a lot of cross-platform developers know about MSYS2 and support it and even some big projects use it for their official builds.  Some applications and environments use MSYS2 internally.  We should get in touch with them and help them (it is, after all, one of the core goals of the project).</p>
<p>Links:</p>
<ul>
<li><a href="https://vcpkg.readthedocs.io/en/latest/maintainers/vcpkg_acquire_msys/">https://vcpkg.readthedocs.io/en/latest/maintainers/vcpkg_acquire_msys/</a></li>
<li><a href="https://chocolatey.org/packages/msys2/">https://chocolatey.org/packages/msys2/</a></li>
<li><a href="https://github.com/msys2/setup-msys2">https://github.com/msys2/setup-msys2</a></li>
<li><a href="https://github.com/actions/virtual-environments/blob/master/images/win/Windows2019-Readme.md">https://github.com/actions/virtual-environments/blob/master/images/win/Windows2019-Readme.md</a> (<a href="https://github.com/actions/virtual-environments/pull/632">https://github.com/actions/virtual-environments/pull/632</a> + <a href="https://github.com/actions/virtual-environments/pull/630">https://github.com/actions/virtual-environments/pull/630</a>)</li>
<li><a href="https://www.appveyor.com/docs/windows-images-software/#mingw-msys-cygwin">https://www.appveyor.com/docs/windows-images-software/#mingw-msys-cygwin</a></li>
<li><a href="https://docs.travis-ci.com/user/reference/windows/#how-do-i-use-msys2">https://docs.travis-ci.com/user/reference/windows/#how-do-i-use-msys2</a></li>
<li><a href="https://circleci.com/docs/2.0/hello-world-windows/">https://circleci.com/docs/2.0/hello-world-windows/</a></li>
<li><a href="https://github.com/git-for-windows/git/issues/284">https://github.com/git-for-windows/git/issues/284</a></li>
<li><a href="https://github.com/Alexpux/Cygwin/pull/8">https://github.com/Alexpux/Cygwin/pull/8</a></li>
<li><a href="https://gitlab.haskell.org/ghc/ghc/wikis/building/preparation/windows">https://gitlab.haskell.org/ghc/ghc/wikis/building/preparation/windows</a></li>
<li><a href="https://wiki.qt.io/MSYS2">https://wiki.qt.io/MSYS2</a></li>
<li><a href="https://www.gtk.org/download/windows.php#MSYS2">https://www.gtk.org/download/windows.php#MSYS2</a></li>
<li><a href="https://cran.r-project.org/bin/windows/Rtools/">https://cran.r-project.org/bin/windows/Rtools/</a></li>
<li><a href="https://wiki.inkscape.org/wiki/index.php?title=Compiling_Inkscape_on_Windows_with_MSYS2">https://wiki.inkscape.org/wiki/index.php?title=Compiling_Inkscape_on_Windows_with_MSYS2</a></li>
<li><a href="https://wiki.gnome.org/Initiatives/Windows">https://wiki.gnome.org/Initiatives/Windows</a></li>
<li><a href="https://github.com/xmrig/xmrig/wiki/Windows-Build">https://github.com/xmrig/xmrig/wiki/Windows-Build</a></li>
<li><a href="https://github.com/LuminanceHDR/LuminanceHDR/tree/master/build_files/platforms/msys2">https://github.com/LuminanceHDR/LuminanceHDR/tree/master/build_files/platforms/msys2</a></li>
<li><a href="https://sigrok.org/gitweb/?p=sigrok-util.git;a=blob;f=cross-compile/msys2/README">https://sigrok.org/gitweb/?p=sigrok-util.git;a=blob;f=cross-compile/msys2/README</a></li>
<li><a href="https://blogs.gnome.org/nacho/2014/08/01/how-to-build-your-gtk-application-on-windows/">https://blogs.gnome.org/nacho/2014/08/01/how-to-build-your-gtk-application-on-windows/</a></li>
</ul>
<h2 id="get-more-people">Get more people</h2>
<p>The MSYS2 team is pretty small and we could use more people.  Some contributors become pretty active and motivated from time to time, but often they burn out after a while.  Since there are so few of core people, the occasional interested users, contributors and issue reporters are often greeted by silence and turned off.</p>
<p>What to do to get them:</p>
<ul>
<li>respond to them on IRC, Gitter, ML, handle their bug reports and contributions on GitHub in a timely fashion</li>
<li>good documentation helps with frequent inquiries, automated checks help with code reviews</li>
<li>get money and pay people?</li>
<li>other ideas?</li>
</ul>
<p>Links:</p>
<ul>
<li><a href="https://www.msys2.org/wiki/Contributing-to-MSYS2/">https://www.msys2.org/wiki/Contributing-to-MSYS2/</a></li>
</ul>
<h2 id="fix-pacman-errors-wrt-conflicts-in-binfoo-vs-binfooexe">Fix pacman errors wrt. conflicts in <code>bin/foo</code> vs <code>bin/foo.exe</code></h2>
<p>The runtime emulates extension-less executables by also looking for <code>.exe</code> on various FS calls. (There are more of these hacks, for example for symlink emulation.) This is causing pacman to complain when two packages independently provide both <code>foo</code> and <code>foo.exe</code>, or even worse <code>dir/</code> and <code>dir.exe</code>. People have to either disregard these conflicts with <code>--force</code>or (re-)install packages in a specific order.</p>
<p>A possible solution to these conflicts would be to disable the .exe interpolation, but then something would break, either users wouldn't be able to either run MSYS2 executables directly from Windows, or couldn't use the short extension-less names of commands in MSYS2. Therefore there also has to be a change that will mitigate that. We can for example design some passes for <code>makepkg</code>:</p>
<ul>
<li>make sure every <code>.exe</code> going into <code>{,/usr}/{bin,lib,libexec}/</code> has its extension stripped</li>
<li>make sure only <code>.{exe,dll}</code> go into <code>/mingw{32,64}/bin/</code></li>
<li>build a good <code>.exe</code> wrapper for every executable in MSYS-land</li>
<li>build a good shell wrapper for every executable in MINGW-land</li>
</ul>
<p>This way, we can even make all non-binaries like shell scripts directly executable from Windows.</p>
<p>What to help with:</p>
<ul>
<li>think/discuss if this is a good idea</li>
</ul>
<h2 id="provide-more-mingw-w64-versions-of-common-cli-tools">Provide more mingw-w64 versions of common CLI tools</h2>
<p>It would be nice to allow people to have as complete as possible GNU-like environment without having to fall back to msys2 bash and the likes. The roadblock in this is that by putting every possible tool into <code>/mingw{32,64}/bin</code> will inevitably screw up native (i.e. non-cross) builds. Ideas for solutions:</p>
<ul>
<li>for every tool that's known to cause problems inside of MSYS2, include shell scripts in <code>/mingw{32,64}/bin/</code> that take priority over the <code>.exe</code>s.</li>
<li>separate the essential build tools from everything else; (by using symlinks, aliases, or just using the package manager) we could have gcc, binutils and friends in <code>/mingw{32,64}/bin/</code> and everything else for instance in <code>/mingw{32,64}/morebin/</code> so that a MSYS2/MINGW shell only uses the <code>bin</code>, but people can opt in for using <code>morebin</code> outside of MSYS2</li>
</ul>
<p>What to help with:</p>
<ul>
<li>design, test, agree on, and implement a way to prevent problems when building</li>
<li>port all the tools!</li>
</ul>
<p>Links:</p>
<ul>
<li><a href="https://github.com/Alexpux/MINGW-packages/pulls?q=author%3Apfmoore">Pull requests from @pfmoore</a></li>
<li><a href="http://gnuwin32.sourceforge.net">GnuWin</a></li>
<li><a href="http://unxutils.sourceforge.net/">UnxUtils</a></li>
<li><a href="https://github.com/bmatzelle/gow/wiki">GNU on Windows</a></li>
<li><a href="https://www.mirbsd.org/permalinks/wlog-10_e20130718-tg.htm">mksh/Win32</a></li>
<li><a href="https://frippery.org/busybox/">busybox-w32</a> and <a href="https://github.com/git-for-windows/git/wiki/MinGit#experimental-busybox-based-mingit">MinGit</a> and <a href="https://github.com/git-for-windows/MINGW-packages/tree/main/mingw-w64-busybox">mingw-w64-busybox</a></li>
</ul>
<h2 id="midipix">Midipix</h2>
<p>Maybe?</p>
                
                  
                
              
              
                


              
            </article>
          </div>
        </div>
        
      </main>
      
        
<footer class="md-footer">
  
    <nav class="md-footer__inner md-grid" aria-label="Footer">
      
        
        <a href="../Creating-Packages/" class="md-footer__link md-footer__link--prev" aria-label="Previous: Creating Packages" rel="prev">
          <div class="md-footer__button md-icon">
            <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M20 11v2H8l5.5 5.5-1.42 1.42L4.16 12l7.92-7.92L13.5 5.5 8 11h12z"/></svg>
          </div>
          <div class="md-footer__title">
            <div class="md-ellipsis">
              <span class="md-footer__direction">
                Previous
              </span>
              Creating Packages
            </div>
          </div>
        </a>
      
      
        
        <a href="../Distributing/" class="md-footer__link md-footer__link--next" aria-label="Next: Distributing" rel="next">
          <div class="md-footer__title">
            <div class="md-ellipsis">
              <span class="md-footer__direction">
                Next
              </span>
              Distributing
            </div>
          </div>
          <div class="md-footer__button md-icon">
            <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M4 11v2h12l-5.5 5.5 1.42 1.42L19.84 12l-7.92-7.92L10.5 5.5 16 11H4z"/></svg>
          </div>
        </a>
      
    </nav>
  
  <div class="md-footer-meta md-typeset">
    <div class="md-footer-meta__inner md-grid">
      <div class="md-footer-copyright">
        
        Made with
        <a href="https://squidfunk.github.io/mkdocs-material/" target="_blank" rel="noopener">
          Material for MkDocs
        </a>
        
      </div>
      
  <div class="md-footer-social">
    
      
      
        
        
      
      <a href="https://github.com/msys2" target="_blank" rel="noopener" title="github.com" class="md-footer-social__link">
        <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 496 512"><path d="M165.9 397.4c0 2-2.3 3.6-5.2 3.6-3.3.3-5.6-1.3-5.6-3.6 0-2 2.3-3.6 5.2-3.6 3-.3 5.6 1.3 5.6 3.6zm-31.1-4.5c-.7 2 1.3 4.3 4.3 4.9 2.6 1 5.6 0 6.2-2s-1.3-4.3-4.3-5.2c-2.6-.7-5.5.3-6.2 2.3zm44.2-1.7c-2.9.7-4.9 2.6-4.6 4.9.3 2 2.9 3.3 5.9 2.6 2.9-.7 4.9-2.6 4.6-4.6-.3-1.9-3-3.2-5.9-2.9zM244.8 8C106.1 8 0 113.3 0 252c0 110.9 69.8 205.8 169.5 239.2 12.8 2.3 17.3-5.6 17.3-12.1 0-6.2-.3-40.4-.3-61.4 0 0-70 15-84.7-29.8 0 0-11.4-29.1-27.8-36.6 0 0-22.9-15.7 1.6-15.4 0 0 24.9 2 38.6 25.8 21.9 38.6 58.6 27.5 72.9 20.9 2.3-16 8.8-27.1 16-33.7-55.9-6.2-112.3-14.3-112.3-110.5 0-27.5 7.6-41.3 23.6-58.9-2.6-6.5-11.1-33.3 2.6-67.9 20.9-6.5 69 27 69 27 20-5.6 41.5-8.5 62.8-8.5s42.8 2.9 62.8 8.5c0 0 48.1-33.6 69-27 13.7 34.7 5.2 61.4 2.6 67.9 16 17.7 25.8 31.5 25.8 58.9 0 96.5-58.9 104.2-114.8 110.5 9.2 7.9 17 22.9 17 46.4 0 33.7-.3 75.4-.3 83.6 0 6.5 4.6 14.4 17.3 12.1C428.2 457.8 496 362.9 496 252 496 113.3 383.5 8 244.8 8zM97.2 352.9c-1.3 1-1 3.3.7 5.2 1.6 1.6 3.9 2.3 5.2 1 1.3-1 1-3.3-.7-5.2-1.6-1.6-3.9-2.3-5.2-1zm-10.8-8.1c-.7 1.3.3 2.9 2.3 3.9 1.6 1 3.6.7 4.3-.7.7-1.3-.3-2.9-2.3-3.9-2-.6-3.6-.3-4.3.7zm32.4 35.6c-1.6 1.3-1 4.3 1.3 6.2 2.3 2.3 5.2 2.6 6.5 1 1.3-1.3.7-4.3-1.3-6.2-2.2-2.3-5.2-2.6-6.5-1zm-11.4-14.7c-1.6 1-1.6 3.6 0 5.9 1.6 2.3 4.3 3.3 5.6 2.3 1.6-1.3 1.6-3.9 0-6.2-1.4-2.3-4-3.3-5.6-2z"/></svg>
      </a>
    
      
      
        
        
      
      <a href="https://gitter.im/msys2/msys2" target="_blank" rel="noopener" title="gitter.im" class="md-footer-social__link">
        <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 384 512"><path d="M66.4 322.5H16V0h50.4v322.5zM166.9 76.1h-50.4V512h50.4V76.1zm100.6 0h-50.4V512h50.4V76.1zM368 76h-50.4v247H368V76z"/></svg>
      </a>
    
      
      
        
        
      
      <a href="https://twitter.com/msys2org" target="_blank" rel="noopener" title="twitter.com" class="md-footer-social__link">
        <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M459.37 151.716c.325 4.548.325 9.097.325 13.645 0 138.72-105.583 298.558-298.558 298.558-59.452 0-114.68-17.219-161.137-47.106 8.447.974 16.568 1.299 25.34 1.299 49.055 0 94.213-16.568 130.274-44.832-46.132-.975-84.792-31.188-98.112-72.772 6.498.974 12.995 1.624 19.818 1.624 9.421 0 18.843-1.3 27.614-3.573-48.081-9.747-84.143-51.98-84.143-102.985v-1.299c13.969 7.797 30.214 12.67 47.431 13.319-28.264-18.843-46.781-51.005-46.781-87.391 0-19.492 5.197-37.36 14.294-52.954 51.655 63.675 129.3 105.258 216.365 109.807-1.624-7.797-2.599-15.918-2.599-24.04 0-57.828 46.782-104.934 104.934-104.934 30.213 0 57.502 12.67 76.67 33.137 23.715-4.548 46.456-13.32 66.599-25.34-7.798 24.366-24.366 44.833-46.132 57.827 21.117-2.273 41.584-8.122 60.426-16.243-14.292 20.791-32.161 39.308-52.628 54.253z"/></svg>
      </a>
    
  </div>

    </div>
  </div>
</footer>
      
    </div>
    <div class="md-dialog" data-md-component="dialog">
      <div class="md-dialog__inner md-typeset"></div>
    </div>
    <script id="__config" type="application/json">{"base": "../..", "features": ["navigation.instant"], "translations": {"clipboard.copy": "Copy to clipboard", "clipboard.copied": "Copied to clipboard", "search.config.lang": "en", "search.config.pipeline": "trimmer, stopWordFilter", "search.config.separator": "[\\s\\-]+", "search.placeholder": "Search", "search.result.placeholder": "Type to start searching", "search.result.none": "No matching documents", "search.result.one": "1 matching document", "search.result.other": "# matching documents", "search.result.more.one": "1 more on this page", "search.result.more.other": "# more on this page", "search.result.term.missing": "Missing", "select.version.title": "Select version"}, "search": "../../assets/javascripts/workers/search.409db549.min.js", "version": null}</script>
    
    
      <script src="../../assets/javascripts/bundle.756773cc.min.js"></script>
      
    
  </body>
</html>